Moving objects in digital video displayed on a hold-type display device such as a liquid crystal display (LCD) device can appear blurry to an observer. The perceived blur is known to be caused in part by the relatively slow LC response of the liquid crystal cells. When compared with an impulse-type device such as a cathode ray tube (CRT) device, for example, an LCD device has a much slower brightness transition response time. The perceived blur is also caused in part by prolonged light emission inherent in the sample-and-hold driving technique commonly employed by LCD devices, which results in formation of after-images on the human retina. These after-images produce a blurred visual perception as the video sequence is being observed.
Various methods have been proposed to compensate for perceived blur. These include methods that modify the hold-type device itself (for example by black frame insertion or backlight blinking), and those that pre-process frames of the digital video sequence prior to display on the hold-type device in order to compensate for motion blur (such as low-pass filtering, or inverse filtering).
U.S. Patent Application Publication No. 2005/0265454 to Muthukrishnan et al. discloses a motion estimation algorithm for predictive coding of a digital video stream. A best match of a given block in a current frame is found by identifying a set of predictor search points in a reference frame based on a median vector of an adjacent, already-coded macro block, a zero motion vector, a temporally co-located macroblock, surrounding macroblock motion vectors and a global motion vector. A Sum of Absolute Difference (SAD) between the given block and each reference block in the reference frame that is centered on the respective predictor points is then calculated. The predictor point corresponding to the lowest SAD is then used as the center of a further diamond search within a given pixel range to identify a better match (i.e., one that yields a lower SAD). If a better match is found, a diamond search within a reduced pixel range is conducted about the center of the better match. The process continues with progressively reduced pixel ranges for a predetermined number of iterations, or until the minimum SAD stays at the center of a current diamond search. The motion vector for the given block is then deemed to correspond to the center of the last diamond search.
U.S. Patent Application Publication Nos. 2006/0056513 and 2006/0056708 to Shen et al. disclose a method for accelerating video encoding using both a central processing unit (CPU) to encode the video and a graphics processing unit (GPU) to perform motion estimation for use during the encoding. A particular video frame is identified by the CPU and provided to the GPU for processing. The GPU conducts motion estimation using block matching, during which reference pixel blocks within a search window are compared with a current pixel block in the current frame to find a reference pixel block yielding a minimum SAD. The motion vector representing motion estimation of a pixel block is provided by the GPU to the CPU in order to encode the current frame into a digital video data stream. A depth buffer is employed by the GPU to accelerate motion estimation.
U.S. Pat. No. 5,764,787 to Nickerson discloses a method of estimating motion between successive video frames during encoding of the video frames into a video stream. During the method, a current pixel block in a current frame is compared using SAD or Sum of Squares of Differences (SSD) with a plurality of reference pixel blocks within a search window in a reference frame to determine a best match. Only half of the pixels in the current pixel block, distributed in a checkerboard pattern, are compared thereby to reduce computational load.
U.S. Pat. No. 6,496,538 to Drysdale discloses a method and apparatus for estimating motion between video frames during encoding of a set of video frames. During the method, a first macroblock from a video frame in the set is compared to a second macroblock in a reference video frame to determine a differential value. The differential value is then compared to a comparison value. If the differential value is no smaller than the comparison value, the differential value is compared to a minimal differential value. If the differential value is less than or equal to the minimal differential value, the differential value is stored as the new minimal differential value, thereby to establish a better macroblock match.
U.S. Pat. No. 6,549,576 to Moriyoshi discloses a method for detecting motion vectors between blocks of pixels in frames for compression coding a digital video sequence. During the method, a current image is divided into pixel blocks and the difference in position between each pixel block in the current image and its best match in a search range of a reference image is determined. A motion vector for a pixel block residing in the same position in the reference frame is set as the predictive vector, and the end position of the predictive vector is set to a scan start position. Scanning during searching is spirally performed from the scan start position toward the vicinity of the outside of the search range so as to locate high probability matches early in the search.
U.S. Pat. No. 6,707,853 to Cook et al. discloses a method for compensating for motion between frames in a digital video sequence for the purpose of digitally encoding the video sequence. During the method, a picture in a sequence is reconstructed by predicting the colors of pixels in pixel macroblocks using motion vectors that have previously been obtained for forward and/or backward reference pictures in the sequence.
U.S. Pat. No. 6,778,607 to Zaccarin et al. discloses a method for multi-rate encoding of video sequences. During the method, motion information relating a frame to previously-encoded frames is calculated using both spatial and frequency-domain representations of the frame and a previous frame. Motion compensation prior to encoding is performed in the frequency-domain.
U.S. Pat. No. 6,842,483 to Au at al. discloses a method for estimating motion between successive images in a digital video sequence using block-matching. During the method, a search is performed for a pixel block of a previous frame that is similar to a current pixel block of a current frame. A search area based on points in the previous frame is arranged in successively larger diamond-shaped zones. The diamond shaped zones may be centered on the corresponding position of the pixel block in the previous frame, or centered on a point that is based on a previous prediction of motion. The search in successive zones for the best matching pixel block in the previous frame continues until a threshold number of diamond shaped zones have been searched.
U.S. Patent Application Publication No. 2004/0227763 to Wichman et al. discloses a coprocessor for conducting motion estimation between frames in order to encode or decode a digital video stream. During motion estimation, one (1) motion vector over a 16×16 pixel macroblock and four (4) motion vectors over four (4) 8×8 pixel blocks in a frame are computed. The coprocessor and a processor cooperate to perform both single motion vector searches for the full macroblock and multiple motion vector searches for the four (4) 8×8 blocks.
U.S. Patent Application Publication No. 2004/0247029 to Zhong et al. discloses a method for estimating motion between frames in a digital video sequence. During the method, a plurality of predicted start motion vectors are selected. Coarse block motion searches using the plurality of predicted start motion vectors are performed to obtain a SAD value and an associated vector. A fine block motion search is then conducted using as a starting position the motion vector of the best match resulting from the coarse search. The predicted start motion vectors are preferably vectors corresponding to macroblocks both above and to the left of the current macroblock. The coarse searches are preferably 16×16 diamond searches and the fine searches include both an 8×8 search and a half-pixel search.
U.S. Patent Application Publication No. 2004/0264570 to Kondo et al. discloses a method for encoding and decoding pictures in a series of moving pictures. Storage of motion vectors used for predictive coding of pictures is controlled such that fewer motion vectors than the number of reference pictures is stored. If a required motion vector is stored, coding is conducted using the required motion vector. Otherwise, coding is performed using a motion vector corresponding to a neighboring block.
U.S. Patent Application Publication No. 2005/0179814 to Pau et al. discloses a method for de-interlacing digital images formatted according to the Phase-Alternate-Line (PAL) display system, in order to display the images on non-PAL devices.
U.S. Patent Application Publication No. 2005/0190844 to Kadono et al. discloses a method for estimating motion between frames in a digital video sequence, in order to perform compression coding of the video sequence. During the method, a reference block in a reference picture is defined as a search center. An error between a current block in a current picture and the reference block, and an error between the current block and each of neighboring reference blocks of the reference block, are then calculated. The reference block having the minimum error is identified. Based on the minimum error, it is determined whether or not motion estimation should be terminated. Based on the position of the reference block having the minimum error, a reference block removed by two pixels or more from the search center is set as the next search center, and the calculation is repeated based on the next search center. The method proceeds iteratively until the value of the newest minimum reaches a threshold value, at which point the search is terminated.
U.S. Patent Application Publication No. 2006/0002474 to Au et al. discloses a method for estimating motion of multiple frames during compression of digital video. During the method, macroblocks and their respective locations in a current frame are defined. Both a search region for each macroblock in the reference frame, and a search point for each relative displacement of a macroblock within the search region are defined. A hierarchy of modes, or levels, of possible subdivision of each macroblock into smaller, non-overlapping regions is then constructed. An “elaborated” search (i.e., a pixel-precision search) for each macroblock for the highest level of subdivision of the macroblock is then conducted to find a macroblock match. Then, a small diamond search around the motion vector obtained from the highest level elaborated search is conducted. The best motion vector for the macroblock is the motion vector corresponding to the subdivision of the macroblock in the reference frame that has the smallest mismatch measure (i.e., SAD).
U.S. Patent Application Publication No. 2006/0067406 to Kitada et al. discloses an apparatus for decoding a compression-encoded motion video stream. The apparatus implements a motion compensation procedure that generates an inter-frame prediction signal corresponding to an undecoded picture, using previously-decoded pictures. Motion vector information for generating the inter-frame prediction signal is separated from the motion video stream by an entropy decoding unit.
U.S. Patent Application Publication No. 2006/0109910 to Nagarajan et al. discloses a method for interpolating motion vectors with sub-pixel accuracy during compression coding of digital video. A block matching process for calculating a full-pixel motion vector for each block comprises comparing pixel blocks in a current frame with reference pixel blocks in a search range in a reference frame. The method by which the motion vector is interpolated is based on the orientation of the calculated full-pixel motion (i.e., horizontal, vertical or diagonal).
U.S. Patent Application Publication No. 2006/0120612 to Manjunath et al. discloses a method for estimating motion between frames in a digital video sequence during video sequence encoding. During the method, a motion vector predictor is calculated based on motion vectors previously calculated for a frame's video blocks that are proximal to the current video block. The motion vector predictor is used as a basis from which to search for a prediction video block for encoding the current video block. A difference block indicative of differences between the current video block and the prediction video block is then calculated and used to encode the current video block.
U.S. Patent Application Publication No. 2006/0126739 to Stoner et al. discloses a method for optimizing motion estimation during encoding of a digital video sequence. During the method, a SAD value is calculated between a current macroblock in a current frame and each of a plurality of reference macroblocks within a search range in a reference frame. SAD values are then calculated for all microblocks of a smallest block size within the macroblock. The SAD values of the smallest microblocks are used to calculate the SAD values for microblocks of other sizes within the macroblock (i.e., by summing the SAD values for microblocks in different combinations). The motion vectors corresponding to the lowest of the SAD values from the various-sized microblocks in each macroblock are then deemed to be the macroblock motion vectors.
While it is well-known to estimate motion between frames in a digital video sequence for encoding digital video, improved techniques for pre-compensating for perceived blur in a digital video sequence displayed on a hold-type device are desired.
It is therefore an object to provide a novel system and method for displaying a digital video sequence modified to compensate for perceived blur.